<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<!--
    js运算符的分类
     1.数学运算符    +  -  *   /  %
     2.逻辑运算符    &&  ||  !
     3. 关系运算符    >  <  >=   <=  != !==  ==  ====
     4. 三目运算
     5. 赋值运算符   =   += -=
     6.  自增  ++  --
-->


<script>
  /*js中一行语句的结束 可以不写;  */
  var num1 = 1;
  var num2 = 2;

  var result = num1 + num2
  console.log("1+2=", result)

  result = num1 - num2
  console.log("1-2=", result)

  result = num1 * num2
  console.log("1*2=", result)

  result = num1 / num2
  console.log("1/2=", result)

  result = num1 % num2
  console.log("1%2=", result)


  result = num1 > num2
  console.log("1>2 =", result)

  result = num1 < num2
  console.log("1<2 =", result)

  result = num1 == num2
  console.log("1==2 =", result)

  result = num1 != num2
  console.log("1!=2 =", result)

  var str = '1'
  //  ==  只要值一样
  result = num1 == str
  console.log("1=='1' :", result)
  //  === 恒等   值  和类型要完全一致
  result = num1 === str
  console.log("1==='1' :", result)

  // 1  '1'
  result = num1 !== str
  console.log("1!=='1' :", result)

  // 1  '1'
  result = num1 != str
  console.log("1!='1' :", result)


  var b1 = false
  var b2 = true

  //  true  +  true  = true
  result = b1 && b2
  console.log("false && true = ", result)

  //  false  false
  result = b1 || b2
  console.log("false || true = ", result)

  result = !b1
  console.log("!b1", result)


  var number3 = 3
  // number3 = number3 + 1
  // number3++
  // ++number3
  // console.log(number3)
  // number3--
  // --number3
  // console.log(number3)

  //  ++  在前   在后   如果没有参与运算   没区别

  //  参与运算  ++ 在后  先参与运算 然后在自增
  // result =  number3++ + 2  //  5

  //  参与运算  ++ 在前  先自增在参与运算
  result = ++number3 + 2   //  6
  console.log(result)

  // 三目运算   表达式  ?  值1 : 值2        分支结构    2 > 1      真   假

  result = 2 < 1 ? 'hello' : 'world'

  console.log(result)


  // 赋值运算
  var n1 = 1
  n1+=2  // 等价于  n1 = n1 + 2
  // n1++
  console.log(n1)

</script>
</body>
</html>